#ifndef __DEVICE_PORT_H__
#define __DEVICE_PORT_H__

#include "device_def.h"

/*
 * @note 依赖项：
    "cbb_delay.h",  延时 -- 必须
    "cbb_mem.h"     内存管理 -- 必须
*/

// 延时函数接口
#include "cbb_delay.h"
#define DEV_DELAY_MS CBB_DELAY_MS

// 替换为自己的内存管理头文件
#include "cbb_mem.h"
#define DEV_MALLOC(size) S_MALLOC(size)

// 设备枚举
enum {

    DEV_TYPE_OUTPUT,         // 输出设备
    DEV_TYPE_INPUT,          // 输入设备
    DEV_TYPE_UART,           // UART设备
    DEV_TYPE_ST7789,         // ST7789显示屏设备
    
    DEV_TYPE_SIZE            // 设备类型数量
};
    
//  输出设备 IOCTL 接口
EXPORT_DEV_IOCTL(output);

//  输入设备 IOCTL 接口
EXPORT_DEV_IOCTL(input);

//  UART 设备 IOCTL 接口
EXPORT_DEV_IOCTL(uart);

//  UART 设备 IOCTL 接口
EXPORT_DEV_IOCTL(st7789);

#endif /* __DEVICE_PORT_H__ */
